#include<bits/stdc++.h>
using namespace std;

#define int long long
#define inf (int)(1e9)

const int mod=998244353;
const int N=2e5+9,M=2000+9;

int n,ans;
int a[N];

int col[N];
void dfs(int i,int res){
    if(i>n){
        ans=max(ans,res);
        return ;
    }

    int pts=0;
    col[i]=1;
    for(int j=i-1;j>=1;--j){
        if(col[i]==col[j]){
            if(a[i]==a[j]){
                pts=a[i];
            }
            break;
        }
    }
    dfs(i+1,res+pts);

    pts=0;
    col[i]=0;
    for(int j=i-1;j>=1;--j){
        if(col[i]==col[j]){
            if(a[i]==a[j]){
                pts=a[i];
            }
            break;
        }
    }
    dfs(i+1,res+pts);
}

int f[N];
int js(int st,int ed){
    if(st>ed) return 0;
    int pts=0;
    map<int,bool> o;
    for(int i=st;i<=ed;++i){
        if(o[a[i]]) pts+=a[i];
        else o[a[i]]=1;
    }
    return pts;
}
void dp1(){
    memset(f,0,sizeof f);
    for(int i=1;i<=n;++i){
        for(int j=i-1;j>=1;--j){
            if(a[i]==a[j])
                f[i]=max(f[i],f[j-1]+js(j+1,i-1)+a[j]);
            else
                f[i]=max(f[i],f[j-1]+js(j+1,i-1));
        }
    }
    ans=f[n];
}

signed main(){
    freopen("color.in","r",stdin);
    freopen("color.out","w",stdout);

    ios::sync_with_stdio(false);
    cin.tie(0); cout.tie(0);

    int T; cin>>T;
    while(T--){
        ans=0;

        cin>>n;
        for(int i=1;i<=n;++i) cin>>a[i];
        if(n<=15) dfs(1,0);
        else if(n<=100) dp1();
        cout<<ans<<'\n';
    }
}
/*
1
15
5 3 7 2 4 13 11 6 5 5 3 5 12 8 13
int kl[M][M];
map<int,bool> ot;
int js2(int st,int ed){
    if(st>=ed) return 0;
    else return kl[st][ed];
}
void dp2(){
    memset(kl,0,sizeof kl);
    for(int i=1;i<=n;++i){
        ot.clear();
        ot[a[i]]=1;
        for(int j=i+1;j<=n;++j){
            kl[i][j]=kl[i][j-1];
            if(ot[a[j]]) kl[i][j]+=a[j];
            else ot[a[j]]=1;
        }
    }

    memset(f,0,sizeof f);
    for(int i=1;i<=n;++i){
        for(int j=i-1;j>=1;--j){
            f[i]=max(f[i][1],max(f[j-1][1],f[j-1][0])+js2(j+1,i-1)+(a[i]==a[j]?a[i]:0));
            f[i]=max(f[i][0],max(f[j-1][1],f[j-1][0])+js2(j+1,i-1)+(a[i]==a[j]?a[i]:0));
        }
    }
    ans=max(f[n][0],f[n][1]);
}
*/
